home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-11-27 | 9.3 KB | 345 lines | [TEXT/MPS ] |
- (*================================================================================ *)
- (* ScIntf.p - Pascal Interface declaration to the Scanner Driver Interface Library *)
- (* *)
- (* Written by Tad Browne, PSAP Created: 20-FEB-88 *)
- (* *)
- (* Copyright Apple Computer, 1988,1989,1990 *)
- (*_____________________________________________________________________________ *)
- (* *)
- (* Modification History: *)
- (* *)
- (* 15-OCT-89 - Tad Browne *)
- (* Added new definitions to support Apple 8-bit Scanner: *)
- (* 1) Changed Reserved field of ScCompRec to startResolution and *)
- (* endResolution to support resolutions in 1 dpi increments *)
- (* 2) Changed downLoadFlags in scAdvFeaturesRec to downLoadStart, *)
- (* downLoadEnd, and downLoadFlags to support download patterns *)
- (* other than square, and sizes up to 127 X 127; *)
- (* 03-APR-90 - Tad Browne *)
- (* Added new advanced feature to support Apple 8-bit Scanner: *)
- (* 1) ScSetFastMode (Fast Scan Mode) *)
- (* 2) Vendor Unique Call (ScVendorUnique) *)
- (* 14-OCT-90 - Tad Browne *)
- (* Added ScSetLed, ScGetButton, ScResetButton, ScSetNoCal calls *)
- (* 12-NOV-90 - Tad Browne *)
- (* Changed ScSetFastMode to ScSetSpeed, added new constants for ScSetSpeed *)
- (* Added constants for Vendor Unique Parameter Types *)
- (* 17-Dec-91 - Steve Bischoff *)
- (* Added scFullColor and scBiLevelColor composition support *)
- (* *)
- (*================================================================================ *)
-
-
- (* Standard Constants *)
-
- UNIT ScIntf;
-
- INTERFACE
-
- CONST
- scLineArt = 0;
- scHalfTone = 1;
- scGrayScale = 2;
- scBiLevelColor = 3;
- scFullColor = 4;
-
- (* Standard Data Types *)
-
- TYPE
- ScCompRec = PACKED RECORD
- brightnessRange: Byte; (* NEW 2.0 *)
- contrastRange: Byte; (* NEW 2.0 *)
- reserved : Byte; (* NEW 2.0 *)
- resFlags : Byte; (* NEW 2.0 *)
- resElements : INTEGER;
- halfToneElements : INTEGER;
- brightnessMax : INTEGER;
- contrastMax : INTEGER;
- bitsPerPixel : LongInt;
- minReadSize : INTEGER;
- END;
-
- ScStdFeaturesPtr = ^ScStdFeaturesRec;
- ScStdFeaturesRec = RECORD
- scannerType : ResType;
- version : INTEGER;
- scanWidthNum : INTEGER;
- scanWidthDen : INTEGER;
- scanLengthNum : INTEGER;
- scanLengthDen : INTEGER;
- composition : ARRAY[scLineArt..scFullColor] OF ScCompRec;
- END;
-
- ScResPtr = ^scResArray;
- ScResArray = ARRAY[1..1] OF INTEGER;
-
- String31 = STRING[31];
- ScHalfTonePtr = ^ScHalfToneArray;
- ScHalfToneArray = ARRAY[1..1] OF String31;
-
-
- ScAreaRec = RECORD
- reserved : LongInt;
- xDpi : INTEGER;
- yDpi : INTEGER;
- scanRect : Rect;
- brightness : INTEGER;
- contrast : INTEGER;
- composition : SignedByte;
- bitsPerPixel : SignedByte;
- halfTone : INTEGER;
- END;
-
- ScScanAreaPtr = ^ScScanAreaRec;
- ScScanAreaRec = RECORD
- reserved : LongInt;
- numAreas : INTEGER;
- scanAreas : ARRAY[1..1] OF ScAreaRec;
- END;
-
-
- (* Standard Routines *)
-
- FUNCTION ScOpen (VAR refNum : INTEGER) : OSErr;
- FUNCTION ScClose (refNum : INTEGER) : OSErr;
- FUNCTION ScGetStdFeatures (refNum : INTEGER;
- stdFeaturesPtr : ScStdFeaturesPtr;
- length : INTEGER) : OSErr;
- FUNCTION ScGetRes (refNum : INTEGER;
- compType : INTEGER;
- resPtr : ScResPtr) : OSErr;
- FUNCTION ScGetHalfTones (refNum : INTEGER;
- compType : INTEGER;
- halfTonePtr : ScHalfTonePtr) : OSErr;
- FUNCTION ScSetScanArea (refNum : INTEGER;
- scanAreaPtr : ScScanAreaPtr) : OSErr;
- FUNCTION ScDoScan (refNum : INTEGER;
- buffer : Ptr;
- VAR count : LONGINT;
- unused : INTEGER;
- byteWidth, rowBytes : INTEGER) : OSErr;
- FUNCTION ScAbortScan (refNum : INTEGER) : OSErr;
-
-
-
- (* Advanced Constants *)
-
- CONST
- scLightDetail = 0; { GrayMap 0 }
- scNormalDetail = 1; { GrayMap 1 }
- scDarkDetail = 2; { GrayMap 2 }
-
- scSpeedNormal = 0; { NORMAL Speed, slow with handshaking }
- scSpeedHigh = 1; { HIGH Speed, fast with handshaking }
- scSpeedFast = 2; { FAST Speed, fast without handshaking }
-
- (* Apple (Vendor) Unique Param Type Constants *)
-
- scUniqueUnpark = 0; { Unpark the the carriage }
- scUniquePark = 1; { Park the the carriage }
- scUniqueAbsPos = 2; { Abosolute carriage positioning }
- scUniqueRelPos = 3; { Relative carriage positioning}
- scUniqueSetID = 4; { Set Scanner Driver SCSI ID }
- scUniqueSetCRAM = 5;{ Set CRAM Data (always 2550 bytes) }
- scUniqueGetCRAM = 6;{ Get CRAM Data (always 2550 bytes) }
-
- (* Advanced Feature Flags *)
-
- (* Download flags *)
- sc2x2Matrixfl = $00000001;
- sc3x3Matrixfl = $00000002;
- sc4x4Matrixfl = $00000004;
- sc5x5Matrixfl = $00000008;
- sc6x6Matrixfl = $00000010;
- sc7x7Matrixfl = $00000020;
- sc8x8Matrixfl = $00000040;
-
- (* Restrict flags *)
- scDiffXandYDPIfl=$00000001;
- scSecondAreafl =$00000002;
- scDiffXandYHTfl =$00000004;
-
- (* Control flags *)
- scSetGroup3fl = $00000001;
- scSetGammafl = $00000002;
- scSetThresholdfl=$00000004;
- scSetLampOnfl = $00000008;
- scSetNoHomefl = $00000010;
- scSetWaitfl = $00000020;
- scSetSpeedfl = $00000040;
- scSetLedfl = $00000080;
- scGetButtonfl = $00000100;
- setNoCalfl = $00000200;
- scLoadGammafl = $00000400;
- scMatrixMulfl = $00000800;
- scInvertfl = $00001000;
- scSetAtoDfl = $00002000;
- scSensorSelectfl=$00004000;
-
- scAllSensors = $00;
- scRedSensor = $01;
- scGreenSensor = $02;
- scBlueSensor = $03;
-
- (* Advanced Data Types *)
-
-
- TYPE
- ScAdvFeaturesPtr = ^ScAdvFeaturesRec;
- ScAdvFeaturesRec = RECORD
- reserved : LongInt;
- version : INTEGER;
- secondaryMax : INTEGER;
- downLoadFlags : LongInt;
- restrictFlags : LongInt;
- controlFlags : LongInt;
- END;
-
- ScPatPtr = ^ScPatRec;
- ScPatRec = PACKED RECORD
- xDimension : Byte;
- yDimension : Byte;
- patData : PACKED ARRAY[1..64] OF Byte; (* NEW SIZE *)
- END;
-
- ScGammaTablePtr = ^ScGammaTableRec;
- ScGammaTableRec = PACKED RECORD
- RedGamma : PACKED ARRAY[1..256] of Byte;
- GreenGamma : PACKED ARRAY[1..256] of Byte;
- BlueGamma : PACKED ARRAY[1..256] of Byte;
- END;
-
- ScMatrixPtr = ^ScMatrix;
- ScMatrix = PACKED RECORD
- matrix : ARRAY[1..9] of INTEGER;
- END;
-
- (* Advanced Routines *)
-
- FUNCTION ScGetAdvFeatures (refNum : INTEGER;
- advFeaturesPtr : ScAdvFeaturesPtr;
- length : integer) : OSErr;
- FUNCTION ScSetHTPattern (refNum : INTEGER;
- patPtr : ScPatPtr) : OSErr;
- FUNCTION ScSetGroup3 (refNum : INTEGER;
- compressOn : Boolean) : OSErr;
- FUNCTION ScSetNoHome (refNum : INTEGER;
- noHome : Boolean) : OSErr;
- FUNCTION ScSetLamp (refNum : INTEGER;
- lampOn : Boolean) : OSErr;
- FUNCTION ScSetGrayMap (refNum : INTEGER;
- grayMap : INTEGER) : OSErr;
- FUNCTION ScSetThreshold (refNum : INTEGER;
- thesholdLevel : INTEGER) : OSErr;
- FUNCTION ScSetWaitButton (refNum : INTEGER;
- waitButton : BOOLEAN) : OSErr;
-
- (* NEW 2.0 *)
-
- FUNCTION ScSetSpeed (refNum : INTEGER;
- speed : INTEGER) : OSErr;
- FUNCTION ScSetLed (refNum : INTEGER;
- ledOn : BOOLEAN) : OSErr;
- FUNCTION ScResetButton(refNum : INTEGER;
- setTrue : BOOLEAN) : OSErr;
- FUNCTION ScGetButton(refNum : INTEGER;
- VAR button : BOOLEAN) : OSErr;
- FUNCTION ScSetNoCal(refNum : INTEGER;
- noCalMode : BOOLEAN) : OSErr;
- FUNCTION ScSetCal(refNum : INTEGER;
- calPtr : Ptr;
- length : integer) : OSErr;
- FUNCTION ScGetCal(refNum : INTEGER;
- calPtr : Ptr;
- length : integer) : OSErr;
- FUNCTION ScVendorUnique (refNum : INTEGER;
- paramType : INTEGER; paramPtr : Ptr) : OSErr;
- FUNCTION ScInvertPixels (refNum : INTEGER;
- invert : BOOLEAN) : OSErr;
- FUNCTION ScSensorSelect (refNum : INTEGER;
- sensor : INTEGER) : OSErr;
- FUNCTION ScSetScannerAtoD (refNum : INTEGER;
- vrt,vrb : Byte) : OSErr;
- FUNCTION ScLoadGamma(refNum : INTEGER;
- gammaPtr : ScGammaTablePtr) : OSErr;
- FUNCTION ScLoadMatrix(refNum : INTEGER;
- matrixPtr : ScMatrixPtr) : OSErr;
-
- (* Error Codes for Scanner *)
-
- CONST
- scNotFoundErr = -17064;
- scComErr = -17065;
- scResetErr = -17066;
- scParamErr = -17067;
- scScannerErr = -17068;
- scLampErr = -17069;
- scEOS = -17070;
- scDimLampErr = -17071;
- scBusy = -17072;
-
- IMPLEMENTATION
- FUNCTION ScOpen;
- external;
- FUNCTION ScClose;
- external;
- FUNCTION ScGetStdFeatures;
- external;
- FUNCTION ScGetRes;
- external;
- FUNCTION ScGetHalfTones;
- external;
- FUNCTION ScSetScanArea;
- external;
- FUNCTION ScDoScan;
- external;
- FUNCTION ScAbortScan;
- external;
-
- FUNCTION ScGetAdvFeatures;
- external;
- FUNCTION ScSetHTPattern;
- external;
- FUNCTION ScSetGroup3;
- external;
- FUNCTION ScSetNoHome;
- external;
- FUNCTION ScSetLamp;
- external;
- FUNCTION ScSetGrayMap;
- external;
- FUNCTION ScSetThreshold;
- external;
- FUNCTION ScSetWaitButton;
- external;
-
- (* NEW 2.0 *)
- FUNCTION ScSetSpeed;
- external;
- FUNCTION ScSetLed;
- external;
- FUNCTION ScResetButton;
- external;
- FUNCTION ScGetButton;
- external;
- FUNCTION ScSetNoCal;
- external;
- FUNCTION ScSetCal;
- external;
- FUNCTION ScGetCal;
- external;
- FUNCTION ScVendorUnique;
- external;
-
- (* NEW 3.0 *)
- FUNCTION ScInvertPixels;
- external;
- FUNCTION ScSensorSelect;
- external;
- FUNCTION ScLoadGamma;
- external;
- FUNCTION ScLoadMatrix;
- external;
- FUNCTION ScSetScannerAtoD
- external;
- END.